package com.ruoyi.subject.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.TreeEntity;

/**
 * 科目表对象 accounting
 * 
 * @author ruoyi
 * @date 2025-03-03
 */
public class Accounting extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 父节点 */
    private Long pid;

    /** 科目编码 */
    @Excel(name = "科目编码")
    private String subjectCode;

    /** 科目名称 */
    @Excel(name = "科目名称")
    private String subjectName;

    /** 助记码 */
    @Excel(name = "助记码")
    private String mnemonicCode;

    /** 上级科目 */
    @Excel(name = "上级科目")
    private String parentSubject;

    /** 科目类别 */
    @Excel(name = "科目类别")
    private Long subjectCategory;

    /** 余额方向 */
    @Excel(name = "余额方向")
    private Long balanceDirection;

    /** 科目状态 */
    @Excel(name = "科目状态")
    private Long subjectStatus;

    /** 数量核算 */
    private String quantityAccounting;

    /** 辅助核算 */
    private String auxiliaryAccounting;

    /** 外币核算 */
    private String foreignCurrencyAccounting;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPid(Long pid) 
    {
        this.pid = pid;
    }

    public Long getPid() 
    {
        return pid;
    }
    public void setSubjectCode(String subjectCode) 
    {
        this.subjectCode = subjectCode;
    }

    public String getSubjectCode() 
    {
        return subjectCode;
    }
    public void setSubjectName(String subjectName) 
    {
        this.subjectName = subjectName;
    }

    public String getSubjectName() 
    {
        return subjectName;
    }
    public void setMnemonicCode(String mnemonicCode) 
    {
        this.mnemonicCode = mnemonicCode;
    }

    public String getMnemonicCode() 
    {
        return mnemonicCode;
    }
    public void setParentSubject(String parentSubject) 
    {
        this.parentSubject = parentSubject;
    }

    public String getParentSubject() 
    {
        return parentSubject;
    }
    public void setSubjectCategory(Long subjectCategory) 
    {
        this.subjectCategory = subjectCategory;
    }

    public Long getSubjectCategory() 
    {
        return subjectCategory;
    }
    public void setBalanceDirection(Long balanceDirection) 
    {
        this.balanceDirection = balanceDirection;
    }

    public Long getBalanceDirection() 
    {
        return balanceDirection;
    }
    public void setSubjectStatus(Long subjectStatus) 
    {
        this.subjectStatus = subjectStatus;
    }

    public Long getSubjectStatus() 
    {
        return subjectStatus;
    }
    public void setQuantityAccounting(String quantityAccounting) 
    {
        this.quantityAccounting = quantityAccounting;
    }

    public String getQuantityAccounting() 
    {
        return quantityAccounting;
    }
    public void setAuxiliaryAccounting(String auxiliaryAccounting) 
    {
        this.auxiliaryAccounting = auxiliaryAccounting;
    }

    public String getAuxiliaryAccounting() 
    {
        return auxiliaryAccounting;
    }
    public void setForeignCurrencyAccounting(String foreignCurrencyAccounting) 
    {
        this.foreignCurrencyAccounting = foreignCurrencyAccounting;
    }

    public String getForeignCurrencyAccounting() 
    {
        return foreignCurrencyAccounting;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("pid", getPid())
            .append("subjectCode", getSubjectCode())
            .append("subjectName", getSubjectName())
            .append("mnemonicCode", getMnemonicCode())
            .append("parentSubject", getParentSubject())
            .append("subjectCategory", getSubjectCategory())
            .append("balanceDirection", getBalanceDirection())
            .append("subjectStatus", getSubjectStatus())
            .append("quantityAccounting", getQuantityAccounting())
            .append("auxiliaryAccounting", getAuxiliaryAccounting())
            .append("foreignCurrencyAccounting", getForeignCurrencyAccounting())
            .toString();
    }
}
